<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <ul>
        <li>li标签</li>
        <li>li标签</li>
        <li>li标签</li>
    </ul>

    <script>
        // 复制、合并数组

        // let arr1 = [1,2,3];
        // let arr2 = [4,5,6];

        // 复制
        // let arr3 = [...arr1];
        // console.log(arr1 === arr3); //false
        // console.log(arr3); //[1,2,3]


        // 合并数组
        // let arr3 = [...arr1,...arr2];
        // console.log(arr3);



        // 复制、合并对象
        // let obj = {
        //     a:12,
        // }

        // let obj2 = {
        //     b:5
        // }

        // 复制对象
        // let obj3 = {...obj};

        // console.log(obj === obj3);  //false

        // console.log(obj3);

        //合并对象
        // let obj3 = {...obj,...obj2};

        // console.log(obj3);


        // 解构数组与对象 剩余运算符

        // let [a,...arr2] = [1,2,3];

        // console.log(arr2);

        // let {a,...obj2} = {
        //     a:12,
        //     b:5,
        //     c:6
        // }

        // console.log(obj2);

        //字符串转成数组
        // let str = "己所欲者，杀而夺之，亦同天赐";

        //  let [...str2] = str;

        // let str2 = [...str];

        // console.log(str2);


        // 伪数组转为真数组     
        // function fn(){
        //     // 获取实参列表
        //     // console.log(arguments);

        //     // console.log(arguments.length);

        //     // 因为arguments不是真数组，它是伪数组
        //     //arguments.map is not a function
        //     // arguments.map(function(item){
        //     //     console.log(item);
        //     // });
        //     // let argument =[1,2,3] = >1,2,3

        //     // let arr = [...arguments]

        //     // 将伪数组转成真数组
        //     [...arguments].map(function(item){
        //         console.log(item);
        //     });
        // }

        // fn(1,2,3);


        // 伪数组 - 元素列表
        let lis = document.querySelectorAll('li');

        console.log(lis); //NodeList(3)[li, li, li]

        //11 Uncaught TypeError: lis.map is not a function
        // lis.map(function(item){
        //     console.log(item);
        // });

        [...lis].map(function(item){
            console.log(item);
        });

    </script>
</body>
</html>